MongoDB ডাটাবেস এবং Collection এর ধারণা

Java Technologies - জাভা মঙ্গোডিবি (Java MongoDB) - MongoDB এর বেসিক কনসেপ্ট
119

MongoDB হল একটি NoSQL ডাটাবেস যা Document-oriented এবং scalable স্টোরেজ সিস্টেম হিসেবে ব্যবহৃত হয়। এটি একটি ওপেন সোর্স ডাটাবেস, যা JSON-like documents ব্যবহার করে ডেটা সংরক্ষণ করে। MongoDB ডাটাবেসে ডেটা স্টোর করার জন্য বিভিন্ন ধরনের collections ব্যবহার করা হয়, যেগুলি tables এর মতো কাজ করে কিন্তু schema-less (স্কিমা-লেস) হওয়ায় এগুলোতে ডেটা সংরক্ষণের জন্য পূর্বনির্ধারিত স্ট্রাকচার প্রয়োজন হয় না।

MongoDB ডাটাবেসটি ডিস্ট্রিবিউটেড আর্কিটেকচার ব্যবহার করে, যা উচ্চ পারফরম্যান্স এবং স্কেলেবিলিটি প্রদান করে।

MongoDB ডাটাবেস (Database):

MongoDB-তে ডাটাবেস হল একটি লজিক্যাল ইউনিট যা বিভিন্ন collections ধারণ করে। এক একটি ডাটাবেসে একাধিক collections থাকতে পারে, আর প্রতিটি collection-এ ডকুমেন্ট থাকবে। MongoDB ডাটাবেস সাধারণত একটি MongoClient অবজেক্টের মাধ্যমে অ্যাক্সেস করা হয়।

  • MongoDB Database: এটি MongoDB-এর সবচেয়ে বড় ইউনিট যেখানে ডেটা সংরক্ষিত হয়। MongoDB-তে একাধিক ডাটাবেস থাকতে পারে।
  • use <database>: MongoDB shell-এ এটি ব্যবহার করে নির্দিষ্ট ডাটাবেস ব্যবহার শুরু করা হয়।

MongoDB Collection:

MongoDB-তে collection হল একটি ডাটাবেসের একটি অবজেক্ট যা documents ধারণ করে। প্রতিটি collection ডাটাবেসের মধ্যে ডেটা সংরক্ষণের জায়গা হিসেবে কাজ করে। MongoDB collections schema-less (স্কিমা-লেস), অর্থাৎ এতে ডেটার স্ট্রাকচার আগ থেকেই নির্ধারণ করতে হয় না। আপনি বিভিন্ন ফরম্যাটে ডেটা সংরক্ষণ করতে পারবেন।

  • MongoDB Collection: MongoDB-তে এটি tables এর সমান, তবে এটি স্কিমা-লেস হওয়ায় প্রতিটি ডকুমেন্ট আলাদা স্ট্রাকচারে থাকতে পারে। উদাহরণস্বরূপ, একটি collection-এ বিভিন্ন ধরনের ডকুমেন্ট থাকতে পারে, যেখানে কিছু ডকুমেন্টে নতুন ফিল্ড থাকতে পারে, আবার কিছুতে নাও থাকতে পারে।

MongoDB Database এবং Collection এর মধ্যে পার্থক্য:

বিষয়DatabaseCollection
সংজ্ঞাMongoDB-এর ডেটার একক, যেখানে একাধিক collection থাকতে পারে।MongoDB-তে ডেটা সংরক্ষণের জায়গা, যেখানে একাধিক document থাকতে পারে।
স্ট্রাকচারএকটি ডাটাবেসের মধ্যে একাধিক collection থাকতে পারে।একটি collection-এ একাধিক document থাকতে পারে।
স্কিমাMongoDB ডাটাবেস স্কিমা-লেস, তবে ডাটাবেস তৈরি করা প্রযোজ্য।Collection স্কিমা-লেস, অর্থাৎ ফিল্ড সমূহ পরিবর্তিত হতে পারে।
অ্যাপ্লিকেশনএকাধিক collection সংরক্ষণের জন্য একটি ডাটাবেস তৈরি করা হয়।একটি collection শুধুমাত্র নির্দিষ্ট ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।

MongoDB Collection Example:

MongoDB Database and Collection Creation:

MongoDB ডাটাবেস এবং collection তৈরি করতে আপনি MongoClient অবজেক্ট ব্যবহার করবেন।

import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;

public class MongoDBExample {
    public static void main(String[] args) {
        // MongoClient তৈরি করা
        MongoClient mongoClient = new MongoClient("localhost", 27017); // Default MongoDB port is 27017
        
        // ডাটাবেস নির্বাচন বা তৈরি করা
        MongoDatabase database = mongoClient.getDatabase("mydb");

        // collection তৈরি করা বা নির্বাচন করা
        MongoCollection<Document> collection = database.getCollection("mycollection");

        // একটি ডকুমেন্ট তৈরি করা
        Document document = new Document("name", "John Doe")
                                .append("age", 30)
                                .append("address", "123 Street, City");

        // ডকুমেন্টটি collection এ insert করা
        collection.insertOne(document);

        // MongoClient বন্ধ করা
        mongoClient.close();
    }
}

Code Explanation:

  1. MongoClient: MongoDB এর সাথে সংযোগ তৈরি করার জন্য MongoClient অবজেক্ট ব্যবহার করা হয়। এখানে localhost এবং ডিফল্ট পোর্ট 27017 ব্যবহৃত হয়েছে।
  2. MongoDatabase: getDatabase() মেথড ব্যবহার করে একটি ডাটাবেস নির্বাচন বা তৈরি করা হয়।
  3. MongoCollection: getCollection() মেথড ব্যবহার করে একটি collection নির্বাচন করা হয়। এই collection এ ডেটা insert বা retrieve করা যাবে।
  4. Document: Document ক্লাস MongoDB এর মধ্যে ডেটা প্রতিনিধিত্ব করে। এটি Map এর মতো কাজ করে, যেখানে key-value জোড়া সংরক্ষিত থাকে।
  5. insertOne(): এটি একটি একক ডকুমেন্ট MongoDB collection এ insert করে।

MongoDB Collection-এ ডেটা Insert এবং Retrieve করা:

Insert Multiple Documents:

Document doc1 = new Document("name", "Alice").append("age", 25);
Document doc2 = new Document("name", "Bob").append("age", 28);
List<Document> documents = Arrays.asList(doc1, doc2);
collection.insertMany(documents);

Retrieve Data from Collection:

// Retrieve a single document
Document myDoc = collection.find().first();  // Retrieve the first document in the collection
System.out.println(myDoc.toJson());

// Retrieve all documents from a collection
for (Document doc : collection.find()) {
    System.out.println(doc.toJson());
}

MongoDB Database and Collection Operations Summary:

  • Database Creation: MongoDB ডাটাবেস তৈরি করার জন্য নির্দিষ্ট ডাটাবেসের নাম ব্যবহার করা হয়। MongoDB ডাটাবেস শুধুমাত্র তখনই তৈরি হয় যখন সেখানে প্রথম ডাটা ইনসার্ট করা হয়।
  • Collection Creation: Collection তৈরি করা MongoDB তে সরাসরি করা না হলেও, আপনি একটি ডকুমেন্ট ইনসার্ট করার সময় তা তৈরি হয়। MongoDB এ একে অপরকে আলাদা করার জন্য collection ব্যবহৃত হয়।
  • Insert Data: MongoDB ডাটাবেসে ডকুমেন্ট ইনসার্ট করার জন্য insertOne() বা insertMany() মেথড ব্যবহার করা হয়।
  • Retrieve Data: MongoDB থেকে ডেটা পড়তে find() মেথড ব্যবহার করা হয়।

MongoDB হল একটি document-oriented NoSQL ডাটাবেস যা ডেটা সংরক্ষণের জন্য collections ব্যবহার করে, যা স্কিমা-লেস এবং ডেটা ম্যানিপুলেশন সহজতর করে। MongoDB Database হল একাধিক collection ধারণকারী একটি container, এবং প্রতিটি Collection MongoDB ডাটাবেসের মধ্যে ডেটা সংরক্ষণ করার জন্য ব্যবহৃত হয়। MongoDB এর এই অর্গানাইজেশন ডেভেলপারদের দ্রুত এবং স্কেলেবল ডেটাবেস ডিজাইন করতে সহায়তা করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...